#ifndef RC_RECEIVER_H
#define RC_RECEIVER_H

#include "stm32f1xx_hal.h"

// 定义遥控通道数量
#define RC_CHANNELS 6

// PWM信号的最小和最大脉宽(微秒)
#define PWM_MIN 1000
#define PWM_MAX 2000

// 遥控通道数据结构
typedef struct {
    uint16_t channel[RC_CHANNELS];  // 存储每个通道的PWM值
    uint8_t data_ready;             // 数据就绪标志
} RC_HandleTypeDef;

// 函数声明
void RC_Init(TIM_HandleTypeDef *htim);
void RC_InputCaptureCallback(TIM_HandleTypeDef *htim);
uint8_t RC_DataReady(void);
void RC_GetChannels(uint16_t *channels);

#endif
